﻿
namespace SharpTag.ID3
{
    /// <summary>
    /// Represents an abstract factory used to generate different types of Tags.
    /// </summary>
    public abstract class AbstractTagFactory
    {
        /// <summary>
        /// Creates a new <see cref="ITag"/> object.
        /// </summary>
        /// <param name="tagBytes">Raw byte array representing the Tag info.</param>
        /// <param name="fileLength">Length of the file that contains the tag.</param>
        /// <returns>A new <see cref="ITag"/> object.</returns>
        public abstract ITag CreateTag(byte[] tagBytes, long fileLength);
    }
}
